Die Benutzerschnittstelle einer Anwendung setzt sich in der Regel aus Text- und Grafikobjekten zusammen und heisst deshalb auch Graphical User Interface (GUI). Die Entwicklung einer Benutzerschnittstelle erfolgt in drei Phasen:
1. GUI-Objekte interaktiv entwerfen2. Den entworfenden GUI-Objekten Ereignisse zuordnenDer Entwickler versieht zum Beispiel ein Bildschirmformular mit vor- oder benutzerdefinierten Dialogfeldern und Schaltflächen.
3. Reaktionen auf die zugeordneten Ereignisse programmierenEiner Schaltfläche können Sie zum Beispiel das Ereignis Mausklick zuordnen.
Eine Ereignisprozedur Abbrechen reagiert kann zum Beispiel auf das Ereignis Mausklick einer Schaltfläche Abbrechen reagieren.
Das folgende Bild zeigt an einem Formular ein zusammengesetztes GUI-Objekt. Der Entwickler hat ihm den Namen Personnel Information gegeben. Es enthält seinerseits GUI-Objekte, insbesondere Bezeichnungsfelder wie Name, (weisse) Textfelder und die Schaltfläche OK. Die in einem Formular enthaltenen GUI-Objekte heissen Steuerelemente (engl. controls).
Das Verhalten eines Steuerelements wird vor allem durch seine benutzerdefinierten Ereignisprozeduren bestimmt. So bestimmt die Ereignisprozedur "OK_nachKlick", wie das Programm auf das Ereignis “Linksklick auf die Schaltfläche OK reagiert. Ein Ereignis ist ein Vorfall, zum Beispiel ein Mausklick, der ein Unterprogramm - eine sogenannte Ereignisprozedur - aufruft. Ereignisse sind in der Regel benutzerinduziert (zum Beispiel durch einen Klick oder die Bewegung über ein Steuerelement). Ein Ereignis kann aber auch systeminduziert sein, also ohne Zutun des Benutzers eintreten. Beispiel eines systeminduzierten Ereignisses ist das Ende einer bestimmten Zeitdauer.
Die folgende VBA-Subroutine skizziert eine Ereignisprozedur:
Sub OK_Klick()
...
If Name.Text = Then
MsgBox Bitte geben Sie Ihren Namen ein
End If
...
End Sub
Wenn die Benutzerin auf die Schaltfläche OK drückt und das Eingabefeld 'Name' leer ist, dann verlangt die Ereignisprozedur OK_Klick() eine Eingabe. Der Name der Ereignisprozedur wird von den meisten Programmierumgebungen automatisch nach dem folgenden Muster vergeben: <Name des Steuerelements>_<Name des Ereignisses>, zum Beispiel OK_Klick.
Die Fallstudie QuadratDialog() veranschaulicht die Entwicklung einer einfachen Benutzerschnittstelle an einer Excel-Arbeitsmappe, die ein Quadrat der gewünschten Position und Länge ausgibt.